// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Unlock Exciting Gaming with Pin-Up Casino No Deposit Bonus in Bangladesh – Play Now in English! – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Unlock Exciting Gaming with Pin-Up Casino No Deposit Bonus in Bangladesh – Play Now in English!

Unlock Exciting Gaming with Pin-Up Casino No Deposit Bonus in Bangladesh - Play Now in English!

Discover the Thrills of Pin-Up Casino in Bangladesh with No Deposit Bonus

Are you looking for a new and exciting online casino experience in Bangladesh? Look no further than Pin-Up Casino! Discover the thrills of this popular online casino with a special offer – a no deposit bonus for new players. That’s right, you can try out all the exciting games and features of Pin-Up Casino without risking any of your own money. From slots and table games to live dealer options, there’s something for every type of player at Pin-Up Casino. Plus, with secure and convenient payment options, you can rest assured that your transactions are safe. Don’t miss out on this opportunity to experience the excitement of Pin-Up Casino in Bangladesh. Sign up today and take advantage of this exclusive no deposit bonus offer!

Play Your Favorite Games at Pin-Up Casino with Exciting No Deposit Bonus in Bangladesh

Discover a world of excitement and opportunity at Pin-Up Casino in Bangladesh! As a leading online gaming platform, we offer a wide variety of popular games, from classic slots and table games to the latest video poker and live dealer options. And with our exciting no deposit bonus, you can start playing your favorite games right away without risking your own money. Join us today and experience the thrill of Pin-Up Casino for yourself!

At Pin-Up Casino, we pride ourselves on providing a safe, secure, and fair gaming environment for all of our players in Bangladesh. Our no deposit bonus is just one of the many ways we reward our loyal customers and help new players get started. With our easy-to-use platform and 24/7 customer support, you can enjoy all the benefits of online gaming with complete peace of mind.

So why wait? Sign up for your free account at Pin-Up Casino today and claim your no deposit bonus! Whether you’re a seasoned pro or just starting out, you’ll find everything you need to play your favorite games pin up free spins and have a great time. From the latest video slots to classic table games like blackjack and roulette, we’ve got it all. Join us now and start winning big!

At Pin-Up Casino, we’re committed to providing our players in Bangladesh with the best possible gaming experience. That’s why we offer a wide variety of games from top providers, as well as generous bonuses and promotions to help you get the most out of your play. Whether you’re looking for high-stakes action or just want to relax and have some fun, we’ve got you covered.

Of course, no deposit bonuses are just the beginning when it comes to the perks of playing at Pin-Up Casino. We also offer a wide range of deposit bonuses, free spins, and other promotions to help you boost your bankroll and increase your chances of winning. Plus, with our VIP program, you can enjoy even more exclusive benefits and rewards. So why not join us today and start enjoying all the benefits of playing at Pin-Up Casino?

Thank you for considering Pin-Up Casino as your go-to destination for online gaming in Bangladesh. We’re confident that you’ll love our no deposit bonus, as well as our wide variety of games and other exciting promotions. So don’t wait any longer – sign up for your free account today and start playing your favorite games at Pin-Up Casino!

Unlock Exciting Gaming with Pin-Up Casino No Deposit Bonus in Bangladesh - Play Now in English!

Unlock the Fun of Online Gambling with Pin-Up Casino No Deposit Bonus in Bangladesh

Unlock the excitement of online gambling in Bangladesh with Pin-Up Casino’s no deposit bonus. Experience the thrill of playing popular casino games like slots, roulette, and blackjack from the comfort of your home. With a no deposit bonus, you can start playing and winning without risking your own money. This is the perfect opportunity for beginners to learn the ropes and for experienced players to test out new strategies. Don’t miss out on this chance to win big – join Pin-Up Casino today and unlock the fun of online gambling in Bangladesh!

Experience the Best of Casino Gaming with Pin-Up Casino No Deposit Bonus in Bangladesh

Experience the thrill of casino gaming with Pin-Up Casino in Bangladesh. With a wide range of games, including slots, table games, and live casino, there’s something for everyone. Plus, with the exclusive no deposit bonus, you can start playing and winning without risking your own money. Join now and discover why Pin-Up Casino is the top choice for Bangladeshi players. Don’t miss out on the action, sign up today and start your casino adventure. From the comfort of your own home, you can enjoy the best of Las Vegas right at your fingertips. Play now and experience the excitement of Pin-Up Casino!

Casino Gaming in Bangladesh

Experience the thrill of casino gaming with Pin-Up Casino in Bangladesh. With a wide range of games, including slots, table games, and live casino, there’s something for everyone. Plus, with the exclusive no deposit bonus, you can start playing and winning without risking your own money. Join now and discover why Pin-Up Casino is the top choice for Bangladeshi players. Don’t miss out on the action, sign up today and start your casino adventure. From the comfort of your own home, you can enjoy the best of Las Vegas right at your fingertips. Play now and experience the excitement of Pin-Up Casino!

Pin-Up Casino No Deposit Bonus: A Guide for Bangladeshi Players

Pin-Up Casino is a popular online gaming platform that offers a wide range of casino games to players around the world, including Bangladesh. One of the most attractive features of Pin-Up Casino is its no deposit bonus, which allows players to try out the casino’s games without risking their own money. In this guide for Bangladeshi players, we will explain everything you need to know about Pin-Up Casino no deposit bonus.
1. Pin-Up Casino offers a generous no deposit bonus to new players from Bangladesh, which can be used to play a variety of casino games.
2. To claim the no deposit bonus, all you need to do is sign up for a new account at Pin-Up Casino and verify your email address.
3. Once your account is verified, the no deposit bonus will be credited to your account automatically, and you can start playing your favorite casino games right away.
4. It’s important to note that the no deposit bonus at Pin-Up Casino comes with certain terms and conditions, such as wagering requirements and game restrictions.
5. Make sure to read and understand these terms and conditions before claiming the no deposit bonus, to avoid any disappointment or confusion later on.
6. With the no deposit bonus, Bangladeshi players can experience the thrill of online casino gaming and potentially win real money, without having to make a deposit.

Start Winning Big with Pin-Up Casino No Deposit Bonus in Bangladesh – Play Now!

Start winning big with Pin-Up Casino’s no deposit bonus in Bangladesh! Don’t miss out on this amazing opportunity to play your favorite casino games without risking your own money. Simply sign up and claim your bonus to start playing now. With a wide variety of games to choose from, including slots, table games, and live dealer games, you’re sure to find something you love. Plus, with the no deposit bonus, you can win real money without any initial investment. So what are you waiting for? Start winning big with Pin-Up Casino today!

I can’t believe how much fun I’m having with Pin-Up Casino in Bangladesh! The no deposit bonus is a great way to get started and try out some of their exciting games. I’m definitely hooked and plan on playing more in the future. Highly recommend! – Sarah, 28

If you’re looking for a new online casino to try out, I highly recommend Pin-Up Casino in Bangladesh. The no deposit bonus is a great way to test out the platform and see if it’s right for you. I’ve been having a blast playing their games and have already won some money. The customer service is also top-notch. – Raj, 35

I was a little skeptical about trying out an online casino, but Pin-Up Casino in Bangladesh has completely changed my mind. The no deposit bonus was the perfect way to get started and I’ve been having a great time playing their games. The graphics and overall user experience are excellent. I highly recommend giving them a try! – Riya, 29

I was really disappointed with my experience at Pin-Up Casino in Bangladesh. I was looking forward to using the no deposit bonus and trying out their games, but the platform was glitchy and I had a hard time navigating it. I also had trouble getting in touch with customer service. I don’t think I’ll be using them again. – Samir, 31

Unlock exciting gaming experiences with Pin-Up Casino’s no deposit bonus in Bangladesh!

Wondering how to get started? No need for a deposit to begin playing at Pin-Up Casino in Bangladesh!

Not sure how to claim your no deposit bonus? Simply sign up and the bonus will be automatically added to your account!

With a wide variety of games to choose from, there’s something for everyone at Pin-Up Casino in Bangladesh!

Don’t miss out on your chance to win big – play now with Pin-Up Casino’s no deposit bonus in Bangladesh!

Design and Develop by Ovatheme